package com.wanmait.zaisousuo.service;

import com.github.pagehelper.PageInfo;
import com.wanmait.zaisousuo.pojo.Article;
import com.wanmait.zaisousuo.util.Pager;

import java.util.List;

public interface ArticleService extends CommonService<Article>{

    //多条件搜索文章
    PageInfo<Article> findAllByConditions(Integer typeId, Integer textId, String orderBy,Integer pageNum);

    //文章提交写入数据库
    void addOneArticle(Article article);

    //个人中心显示我的文章分页
    PageInfo<Article>findById(Integer pageNum,Integer id);

    //可以根据时间范围搜索出文章
    List<Article> findAllByTime(String startTime,String endTime);

    //后台更改文章的disabled状态
    Boolean changeDisabled(Boolean flag,Integer articleId);

    Boolean parise(Integer id,Integer userinfoId);

    Boolean collect(Integer id,Integer userinfoId,String articleName,String authorName);

    void updatePraiseCount(Integer praiseCount,Integer id);

    void updateCollectCount(List<Article> articles);

    List<Article> findArticlesBySolr(String solrsearch,Integer pageNum, Pager pager);

    Integer getDataCount(String solrsearch);

    List<Article> findCollectByUserId(Integer userId);

    //清缓存
    void clearCache();

    //点赞清除:根据id查文章缓存
    void clearQuerybyidCache(Integer id);

    //发表文章、后台禁用、删除文章清除：根据用户id查找文章缓存
    //void clearQuerybyuserCache(Integer id);

    //删除文章以及与文章相关联的内容
    void deleteArticleAndRelative(Integer articleId);
}
